unit Cons_ProdEntidade;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Formulario_Padrao_Consulta, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls,
  TFlatButtonUnit;

type
  TFrmCons_ProdEntidade = class(TFrmConsulta)
    Label1: TLabel;
    ed_desc: TEdit;
    db: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ed_descKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BtnFecharClick(Sender: TObject);
    procedure dbDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmCons_ProdEntidade: TFrmCons_ProdEntidade;
  xcod_contprod: string;
  xcod_controle: string;
  xcod_fornecedor: string;

implementation

uses dm, clsProdutoEntidade, db, dbtables, clsProduto;

var
  tq: TQuery;
  tds: TDataSource;
  produto: TProdutoEntidade;
  prod: TProduto;

{$R *.DFM}

procedure TFrmCons_ProdEntidade.FormCreate(Sender: TObject);
begin
  inherited;
  tq := TQuery.Create(self);
  tq.databasename := dmint.db.databasename;
  tds := TDataSource.Create(self);
  tds.dataset := tq;
  db.DataSource := tds;
  produto := TProdutoEntidade.Create;
  prod := TProduto.Create;
end;

procedure TFrmCons_ProdEntidade.FormDestroy(Sender: TObject);
begin
  inherited;
  tq.free;
  tds.free;
  prod.free;
  produto.free;
end;

procedure TFrmCons_ProdEntidade.FormActivate(Sender: TObject);
begin
  inherited;
  tq.close;
  tq.sql.clear;
  produto.Consulta_Produto(tq, xcod_fornecedor, '');
  tq.open;
  db.refresh;
end;

procedure TFrmCons_ProdEntidade.ed_descKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  if key = 12 then begin
    tq.close;
    tq.sql.clear;
    produto.Consulta_Produto(tq, xcod_fornecedor, ed_desc.text);
    tq.open;
    db.refresh;
  end;
end;

procedure TFrmCons_ProdEntidade.BtnFecharClick(Sender: TObject);
begin
  xcod_controle := tq.fieldbyname('pre_codigo_entidade').asstring;
  xcod_contprod := tq.fieldbyname('pro_codigo').asstring;
  inherited;
end;

procedure TFrmCons_ProdEntidade.dbDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  inherited;
  if DataCol = 3 then begin
    prod.Recuperar(db.Columns[2].Field.asstring);
    db.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, prod.Pro_nome);
  end;
end;

end.
